home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-29 | 4.1 KB | 139 lines |
- 10 'WIREMESH - Wire Mesh Screening - 24 FEB 96 rev. 28 SEP 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 CLS:KEY OFF
- 40 COLOR 7,0,1
- 50 U$="#####.###"
- 60 U1$="#####.#"
- 70 UL$=STRING$(80,205)
- 80 PI=3.14159
- 90 DIM WP(11)
- 100 DATA .3, .8, 1.3, 2.1, 3.1, 4.2, 5.5, 6.9, 8.5, 10.3, 12.3
- 110 FOR Z=1 TO 11:READ WP(Z):NEXT Z
- 120 GOTO 200
- 130 '
- 140 '.....format input line
- 150 LOCATE CSRLIN-1:PRINT SPC(7);
- 160 IF ZZ=SA THEN X$=U1$ ELSE X$=U$
- 170 LOCATE CSRLIN,47:PRINT STRING$(7,".");USING X$;ZZ;
- 180 RETURN
- 190 '
- 200 '.....start
- 210 CLS
- 220 COLOR 15,2
- 230 PRINT " WIRE MESH SCREENING";TAB(57)"by George Murphy VE3ERP ";
- 240 COLOR 1,0:PRINT STRING$(80,223);
- 250 COLOR 7,0
- 260 GOSUB 940 'preface
- 270 PRINT UL$;
- 280 COLOR 0,7
- 290 LOCATE,22:PRINT " Press 1 to continue or 0 to quit...."
- 300 COLOR 7,0
- 310 Z$=INKEY$:IF Z$=""THEN 310
- 320 IF Z$="0"THEN CLS:RUN EX$
- 330 IF Z$="1"THEN 430
- 340 GOTO 310
- 350 '
- 360 '.....mesh cell data (LS=lgth.of side, CA=cell area, WL=wire length
- 370 '.....(calculation for hex mesh - results same for square mesh)
- 380 LS=1.155*A/2:CA=3.464*(A/2)^2:WL=3*LS
- 390 LSO=1.155*(A-D)/2:OA=3.464*((A-D)/2)^2 'open area
- 400 WA=CA-OA:GOTO 410 'wire area
- 410 RETURN
- 420 '
- 430 '.....inputs
- 440 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 450 PRINT " SQUARE OR HEXAGONAL WIRE MESH SCREEN"
- 460 INPUT " ENTER: c.c. Distance across mesh opening.......(in.)";A
- 470 ZZ=A:GOSUB 140:PRINT " in.";TAB(68)USING U1$;A*25.4;:PRINT " mm"
- 480 INPUT " ENTER: Wire diameter...........................(in.)";D
- 490 ZZ=D:GOSUB 140:PRINT " in.";TAB(68)USING U1$;D*25.4;:PRINT " mm"
- 500 COLOR 0,7
- 510 INPUT " ENTER: Screen area.............................(ft<UNK! {FD29}>";SA
- 520 ZZ=SA:GOSUB 140:PRINT " ft<UNK! {FD22}>;TAB(68)USING U1$;SA*0.0929;:PRINT " m<UNK! {FD20}> ";
- 530 COLOR 7,0
- 540 '
- 550 GOSUB 360 'cell data
- 560 WV=WL*PI*(D/2)^2 'wire volume per cell
- 570 N=SA/CA*144 'total number of cells
- 580 TV=WV*N 'total wire volume
- 590 FF=WA/CA 'filled area factor
- 600 FA=SA*FF 'wind vane area
- 610 WTA=0.0975 'weight/cu.in. of aluminum
- 620 WTC=0.321 'weight/cu.in. of copper
- 630 WTS=0.2835 'weight/cu.in. of steel
- 640 Z=TV*WTA
- 650 PRINT " Weight of this area of mesh: aluminum wire...";
- 660 PRINT USING U1$;Z;:PRINT " lb.";TAB(68)USING U1$;Z*0.4536;:PRINT " kg"
- 670 Z=TV*WTS
- 680 PRINT " steel wire......";
- 690 PRINT USING U1$;Z;:PRINT " lb.";TAB(68)USING U1$;Z*0.4536;:PRINT " kg"
- 700 Z=TV*WTC
- 710 PRINT " copper wire.....";
- 720 PRINT USING U1$;Z;:PRINT " lb.";TAB(68)USING U1$;Z*0.4536;:PRINT " kg"
- 730 PRINT " Percent of screen area filled by wire........";
- 740 PRINT USING U1$;FF*100;:PRINT " %"
- 750 PRINT " Wind vane area (screen area filled by wire)..";USING U1$;FA;
- 760 PRINT " ft<UNK! {FD22}>;TAB(68)USING U1$;FA*0.0929;:PRINT " m<UNK! {FD22}>
- 770 PRINT " Wind load on this area of vertical mesh at various ";
- 780 PRINT "wind speeds:"
- 790 '
- 800 X=0
- 810 FOR Z=1 TO 6 STEP 0.5
- 820 SM=Z*10*1.1508
- 830 KM=Z*10*1.8519
- 840 X=X+1
- 850 Y=WP(X)*FA
- 860 PRINT " @ ";USING "##";Z*10;
- 870 PRINT " knots =";USING "###";SM;:PRINT " mph =";USING "###";KM;
- 880 PRINT " km/hr ............";
- 890 PRINT USING U1$;Y;:PRINT " lb.";TAB(68)USING U1$;Y*0.4536;:PRINT " kg"
- 900 NEXT Z
- 910 GOTO 1220
- 920 END
- 930 '
- 940 '.....preface
- 950 T=(7)
- 960 PRINT TAB(T);
- 970 PRINT "This program may be used in the design of reflectors for antennas"
- 980 PRINT TAB(T);
- 990 PRINT "in the VHF/UHF frequency range, or for anything else you want to"
- 1000 PRINT TAB(T);
- 1010 PRINT "make out of chain link fencing, chicken wire, hardware cloth, or"
- 1020 PRINT TAB(T);
- 1030 PRINT "window screening.
- 1040 PRINT
- 1050 PRINT TAB(T);
- 1060 PRINT "The calculated effects of wind do not apply if any part of the mesh"
- 1070 PRINT TAB(T);
- 1080 PRINT "is covered by ice, snow, leaves, plastic sheets, or other matter"
- 1090 PRINT TAB(T);
- 1100 PRINT "that obstructs the free passage of air through the mesh."
- 1110 PRINT
- 1120 PRINT TAB(T);
- 1130 PRINT "A hexagonal mesh screen of a given size contains the same amount of"
- 1140 PRINT TAB(T);
- 1150 PRINT "wire as a square mesh screen of the same size, if both screens have"
- 1160 PRINT TAB(T);
- 1170 PRINT "the same size mesh (i.e. same distance between between opposite"
- 1180 PRINT TAB(T);
- 1190 PRINT "sides of the hexagonal or square opening)."
- 1200 RETURN
- 1210 '
- 1220 '.....end
- 1230 GOSUB 1260:GOTO 200
- 1240 END
- 1250 '
- 1260 'HARDCOPY
- 1270 GOSUB 1380:LOCATE 25,2:COLOR 14,6
- 1280 PRINT " Press 1 to print screen, 2 to print screen & ";
- 1290 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 1300 Z$=INKEY$:IF Z$="3"THEN GOSUB 1380:RETURN
- 1310 IF Z$="1"OR Z$="2"THEN GOSUB 1380:GOTO 1330
- 1320 GOTO 1300
- 1330 FOR QX=1 TO 24:FOR QY=1 TO 80
- 1340 LPRINT CHR$(SCREEN(QX,QY));
- 1350 NEXT QY:NEXT QX
- 1360 IF Z$="2"THEN LPRINT CHR$(12)
- 1370 GOTO 1270
- 1380 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-